The proliferation of cloud-based services and platforms continues to increase. Specifically, cloud-based storage systems have impacted the way personal and corporate information (e.g., content) are stored, and has also impacted the way personal and corporate information are shared and managed. Using a cloud-based storage service can facilitate efficient use of cloud-based content management resources (e.g., storage facilities, compute facilities, etc.) for storing and/or processing digital content (e.g., “files”). For example, a cloud-based storage service might store content from a client in Europe in a storage facility in Europe, and the same cloud-based storage service might also store content from a client in the U.S. in a storage facility in the U.S. Further, the cloud-based storage service might process (e.g., search) content in the U.S. and store the derived content (e.g., search results) in Europe.
Where and how content is accessed, processed and/or stored is specified in part by storage policies defined by various stakeholders in the cloud-based storage ecosystem (e.g., the client, the cloud-based storage service provider, the storage facility provider, etc.) based at least in part on various policy objectives (e.g., security, accessibility, loss protection, cost, performance, etc.). These stakeholders desire to have storage policy flexibility so as to continually meet or exceed changing objectives.
As the number of cloud-based content management resource options (e.g., locations, sites, etc.) and complexity of policy objectives increase, however, maintaining the desired storage policy flexibility can be difficult. Some legacy approaches provide to clients an application programming interface (API) for each available content management resource. Such legacy approaches require, for example, that the client determine a priori the target storage facility and develop facility-specific storage commands and policies. These approaches also do not consider varying source attributes (e.g., client locations, enterprise service level agreements (SLAs), enterprise tariffs, jurisdictional statutes, etc.) when determining what computation and/or storage policies to observe. Further, such approaches result in large, customized programming code bases that are difficult to maintain (e.g., to update when physical storage components are change).
Other legacy approaches provide to clients a translation of storage commands targeted for one storage facility to storage commands for another storage facility. This approach is also based at least in part on facility-specific commands and policies, and fails to consider source attributes when applying such policies. The foregoing legacy approaches can also present limitations at least as pertaining to selecting from among the feasible content management resource facilities to carry out a given object processing scenario. For example, when two or more object processing scenarios are feasible given the policy or policies for the object, users desire to select the scenario having the highest probability of achieving certain objectives, such as minimizing costs and/or maximizing performance.
The problem to be solved is therefore rooted in technological limitations of the legacy approaches. Improved techniques, in particular improved application of technology, are needed to address the problem of using various cloud-based content management resources with source-aware and jurisdiction-aware commands and policies. More specifically, the technologies applied in the aforementioned legacy approaches fail to achieve sought-after capabilities of the herein disclosed techniques for performing policy-based computation and storage over cloud-based collaboration objects. What is needed is a technique or techniques to improve the application and efficacy of various technologies as compared with the application and efficacy of legacy approaches.